const t = getApp()
Page({
  data: {
    openid:'',
    user_id:0,
    iconsUrl:t.globalData.iconsUrl,
    service_status:0, //是否显示服务费
    serviceObj:{}, //显示服务费内容
    wash_status:0, //洗车耗材是否弹窗
    washObj:{},   //洗车耗材显示内容
    // 店主下拉（管理员专用）
    role_id:0,
    adminList:[],
    adminindex:0,  //下标
    admin_name:'', //选中回显
    admin_bid:'',   //选中的b_id(店主)
    // uchart
    chartData: {},
    opts: {
      padding: [10,5,0,1],    
      fontSize: 12,             
      fontColor: "#666666",    //图表柱子上方数值,字颜色
      dataLabel: false,        //图表柱子上方是否显示数值
      color:['#3377FF'],       //柱子颜色
      enableScroll: false,      //X轴是否滚动
      xAxis: {
        itemCount:12,
      },
      yAxis: {
        data: [
          {
            min: 0,
            max: 30000
          }
        ],
        disabled: false,
        disableGrid: false,
        splitNumber: 6, //Y轴刻度个数
      },
      extra: {
        column: {
          width:"auto",    //宽度
          categoryGap: 0.6,  //（X轴点）柱子之间的间距
        }
      }
    },
    height:350,
    // 页面数据info
		info:{},
		// 店家选择弹窗
		merShow:false
  },
  onReady: function () {
    if(wx.getStorageSync('user_id')){
      // 获取数据图表数据
      this.get_echars();
    }
  },
  complete(e){
    console.log(e);
  },
  onLoad(e){
    if(wx.getStorageSync('role_id') !=1){
      console.log('判断是否欠服务费')
      this.get_service(); //判断是否欠服务费（非管理员）
    }else{
      // this.getBusiness()   //获取下拉商铺列表（管理员）
    }
    let that =this;
    if(wx.getStorageSync('user_id') && true){
       // 获取openid
        wx.login({
          success(e){
            t.request('/Manage/Management/getOpenid',{code: e.code},function(event){
                that.setData({
                  openid:event.result.openid,
                })
            })
          }
        })
    }
   
  },
  onShow(e){
    this.autoUpdate() //更新小程序
    this.cklogin();
    // 获取店主列表（管理员专用）
    console.log('role_id',this.data.role_id)
    if(this.data.role_id==1){
      if(t.globalData.b_id!=0){
        this.setData({
          admin_bid:t.globalData.b_id,
          admin_name:t.globalData.b_name,
        })
      }
    }
    if(wx.getStorageSync('user_id')){
      // 获取页面数据
      this.get_info();
    }
    
  },
  // 选择店主（管理员专用）
  bindAdminPicker: function (e) {
    t.globalData.b_id = this.data.adminList[e.detail.value].b_id
    t.globalData.b_name=this.data.adminList[e.detail.value].name
    this.setData({
      adminindex: e.detail.value,
      admin_bid:this.data.adminList[e.detail.value].b_id,
      admin_name:this.data.adminList[e.detail.value].name,
    })
    this.onShow()//获取数据列表
    this.get_echars();
	},
	selectStoreComfim(e){
		let adminindex = e.currentTarget.dataset.index
		t.globalData.b_id = this.data.adminList[adminindex].b_id
    t.globalData.b_name=this.data.adminList[adminindex].name
    this.setData({
      adminindex,
      admin_bid:this.data.adminList[adminindex].b_id,
			admin_name:this.data.adminList[adminindex].name,
			merShow:false
    })
    this.onShow()//获取数据列表
    this.get_echars();
	},
	// selectStore
	selectStore(){
		this.setData({
			merShow:!this.data.merShow
		})
		if(this.data.merShow){
			this.getBusiness()   //获取下拉商铺列表（管理员）
		}
	},
  getBusiness(){
    let that = this;
    let obj = {b_id:1}
    t.request('/Manage/Management/businessList',obj,function(e){
        if (e.code == "200") {
          that.setData({
            adminList:e.result,
          })
        } else {
          wx.showToast({ title: e.message,icon: 'none',duration: 2000})
        }
    })
  },
  // 检测是否登录
  cklogin(){
    let user_id=wx.getStorageSync('user_id');
    if(user_id){
      let user    = wx.getStorageSync('user');
      let role_id = wx.getStorageSync('role_id')
      this.setData({
        user_id:user_id,
        u_name: user.u_name,
        role_id
       })
    }else{
      wx.redirectTo({
        url: '/pages/login/login',
      })
      return false
    }
  },
  //支付服务费
  payMoney(){
    let that =this;
    var o = {
      charge_id:that.data.serviceObj.charge_id,
      openid:that.data.openid
    }
    t.request('/Manage/Management/payCharge',o,function(e){
      if (e.code==200) {
        var params = e.result.params
        wx.requestPayment({
          nonceStr: params.nonceStr,
          package: params.package,
          paySign: params.paySign,
          signType: 'MD5',
          timeStamp: params.timeStamp,
          'success'(e){
            // 支付成功，重新获取服务费
            that.setData({service_status:0})
            that.get_service();
          },
          'fail'(e){
            wx.hideLoading({
              success: (res) => {},
            })
            wx.showModal({
              title: '您取消了支付！',
              showCancel:false,
              complete:function(){
              }
            })
          },
        })
      }
    })
  },
  // 服务费
  get_service(){
    var that = this;
    if(wx.getStorageSync('user_id')){
      let obj = {user_id:wx.getStorageSync('user_id')}
      t.request('/Manage/Management/sendCharge',obj,function(e){
        if(e.result.status && !e.result.can_close){
          console.log('隐藏tabbar')
          wx.hideTabBar()
        }else{
          wx.showTabBar()
        }
        that.setData({
          service_status:e.result.status,
          serviceObj:e.result
        })
        // 
        if(!e.result.status){
          that.get_wash() //判断是否缺洗车耗材
        }
      })
    }
  },
  // 关闭服务费弹窗/洗车耗材
  close_service(){
    this.setData({
      service_status:0,
      wash_status:0
    })
    this.get_echars();//防止不显示，重新刷一下接口
  },
   // 洗车耗材
   get_wash(){
    var that = this;
    if(wx.getStorageSync('user_id')){
      let obj = {user_id:wx.getStorageSync('user_id')}
      t.request('/Manage/Management/washSupplies',obj,function(e){
        if(e.result.show_status && !e.result.can_close){
          wx.hideTabBar()
        }else{
          wx.showTabBar()
        }
        that.setData({
          wash_status:e.result.show_status,
          washObj:e.result
        })
      })
    }
  },
  //获取页面数据
  get_info(){
    var that = this;
    let obj ={
      b_id:t.get_b_id(),
      role_id:that.data.role_id,
      openid:that.data.openid?that.data.openid:wx.getStorageSync('openid')
    }
      t.request('/Manage/Management/homeData',obj,function(e){
        // 判断修改过密码
        if(e.result.manage_status==1){
          t.loginout()
          return;
        }
        if(that.data.role_id == 9){
          wx.hideTabBar()
          wx.switchTab({
            url: '/pages/work/work',
          })
        }
        let info =e.result
        that.setData({
          info
        })
      })
  },
  // 获取数据图表数据
  get_echars(){
    var that = this;
    let obj ={
      b_id:t.get_b_id(),
      class_type:1,
      date_type:2
    }
      t.request('/Manage/Management/turnovers',obj,function(e){
        setTimeout(() => {
          let chartData = {
            categories:e.result.btm, //X轴数据
            series: [
              {
                name:'收款',
                data: e.result.data
              }, //Y轴数据
            ]
          };
         that.setData({ chartData });
        // 处理Y轴显示
        let opts = that.data.opts
        opts.yAxis.data[0].max = e.result.max
        opts.yAxis.splitNumber =  e.result.step
        that.setData({ opts });
      }, 1000);
      })
  },
  // 页面跳转
  to_url(e){
    wx.navigateTo({
      url: e.currentTarget.dataset.url,
    })
  },
  // 页面跳转
  to_tabbar(e){
    wx.switchTab({
      url: e.currentTarget.dataset.url,
    })
  },
  onRefresh(){
    //在当前页面显示导航条加载动画
    wx.showNavigationBarLoading(); 
    //显示 loading 提示框。需主动调用 wx.hideLoading 才能关闭提示框
    this.get_info();
    this.get_echars();
  },
  onPullDownRefresh: function () {
    console.log('pull')
    //调用刷新时将执行的方法
    this.onRefresh();
    setTimeout(function () {
      // 不加这个方法真机下拉会一直处于刷新状态，无法复位
      wx.stopPullDownRefresh()
    }, 1000)
  },
// ------------------------自动更新小程序--------------------------------------
  autoUpdate() {
    var self = this
    // 获取小程序更新机制兼容
    if (wx.canIUse('getUpdateManager')) {
      const updateManager = wx.getUpdateManager()
      //1. 检查小程序是否有新版本发布
      updateManager.onCheckForUpdate(function(res) {
        // 请求完新版本信息的回调
        if (res.hasUpdate) {
          //检测到新版本，需要更新，给出提示
          wx.showModal({
            title: '更新提示',
            content: '检测到新版本，是否下载新版本并重启小程序？',
            success: function(res) {
              if (res.confirm) {
                //2. 用户确定下载更新小程序，小程序下载及更新静默进行
                self.downLoadAndUpdate(updateManager)
              } else if (res.cancel) {
                //用户点击取消按钮的处理，如果需要强制更新，则给出二次弹窗，如果不需要，则这里的代码都可以删掉了
                wx.showModal({
                  title: '温馨提示~',
                  content: '本次版本更新涉及到新的功能添加，旧版本无法正常访问的哦~',
                  showCancel: false, //隐藏取消按钮
                  confirmText: "确定更新", //只保留确定更新按钮
                  success: function(res) {
                    if (res.confirm) {
                      //下载新版本，并重新应用
                      self.downLoadAndUpdate(updateManager)
                    }
                  }
                })
              }
            }
          })
        }
      })
    } else {
      // 如果希望用户在最新版本的客户端上体验您的小程序，可以这样子提示
      wx.showModal({
        title: '提示',
        content: '当前微信版本过低，无法使用该功能，请升级到最新微信版本后重试。'
      })
    }
  },
  /**
   * 下载小程序新版本并重启应用
   */
  downLoadAndUpdate(updateManager) {
    var self = this
    wx.showLoading();
    //静默下载更新小程序新版本
    updateManager.onUpdateReady(function() {
      wx.hideLoading()
      //新的版本已经下载好，调用 applyUpdate 应用新版本并重启
      updateManager.applyUpdate()
    })
    updateManager.onUpdateFailed(function() {
      // 新的版本下载失败
      wx.showModal({
        title: '已经有新版本了哟~',
        content: '新版本已经上线啦~，请您删除当前小程序，重新搜索打开哟~',
      })
    })
  },

})
